DEFINITION MODULE MenuTool;

(*
Menu Tools.

UK __DATE__ __TIME__
*)

(*DEF_SWITCHES*)

FROM AES      IMPORT Key,SpecialKey,TreePtr,ObjectIndex;
FROM ObjcTool IMPORT ObjectCallback,NewObjectCallback,DisposeObjectCallback;

PROCEDURE ShowMenu(Menu: TreePtr);

PROCEDURE HideMenu(Menu: TreePtr);

PROCEDURE MenuKey(Menu: TreePtr; EvKey: Key; EvSpecial: SpecialKey): BOOLEAN;

TYPE MenuCallback = ObjectCallback;

#if proc_const
CONST (*NewMenuAction     = NewObjectCallback;*)
      DisposeMenuAction = DisposeObjectCallback;
#else
VAR (*NewMenuAction: PROCEDURE(TreePtr,ObjectIndex,MenuCallback);*)
    DisposeMenuAction: PROCEDURE(TreePtr,ObjectIndex);
#endif

PROCEDURE NewMenuAction(Menu: TreePtr; Item: ObjectIndex; Call: MenuCallback);

PROCEDURE MenuAction(Menu: TreePtr; Title: ObjectIndex; Item: ObjectIndex);

END MenuTool.
